#!/usr/bin/env python
# coding=utf-8
import os  
import pandas as pd  
  
# 设置源目录和目标Excel文件名  
src_dir = 'src_tmp'  
output_excel = 'output.xlsx'  
  
# 创建一个空的DataFrame来存储数据  
data = []  
  
# 遍历src_tmp目录下的所有子目录
for subdir, dirs, files in os.walk(src_dir):
    for file in files:
        # 检查文件名是否符合[文件夹名].oe.specdiff的模式
        if file.endswith('.oe.specdiff') and file.startswith(os.path.basename(subdir) + '.'):
            # 读取文件内容
            with open(os.path.join(subdir, file), 'r', encoding='utf-8') as f:
                lines = f.readlines()

                # 检查文件是否有足够的行
                if len(lines) < 3:
                    print(f"{subdir} 已跳过，specdiff文件格式异常")
                    continue  # 跳过行数不足的文件

                # 提取所需信息
                folder_name = os.path.basename(subdir)
                target_branch_name = lines[0].strip()  # 第一行：目标分支名
                target_branch_commit = lines[1].strip()  # 第二行：目标分支commit号
                diff_analysis = ''.join(lines[2:]).strip()  # 第三行及其之后：差异分析

                # 将数据添加到列表中
                data.append((folder_name, target_branch_name, target_branch_commit, diff_analysis))

# 将数据转换为DataFrame
df = pd.DataFrame(data, columns=['LOCALNAME', '目标分支名', '目标分支commit号', '差异分析'])

# 保存到Excel文件
df.to_excel(output_excel, index=False)

print(f"Excel文件已保存到：{output_excel}")
